#ifndef SONG_H
#define SONG_H

#include <vector>
#include "utils.h"
#include "Mp3.h"
#include "Rythm.h"

namespace LibMusic{

class Song
{
public :

	// =================================================================
	// Friend
		
	// Operateur <<
	friend ostream& 	operator<< 		(std::ostream& out, const Song* lvl) ;

	// ==========================================================================================
	// Public functions :

				Song		(const std::string _Mp3Path) ;

				~Song		() ;

	void		WriteLvl	(const string _Name = "DefaultName.song") ;
	
	// ==========================================================================================

private :

	// ==========================================================================================
	// Private attributs :

	Mp3						m_Mp3 ;
	std::vector<Rythm>		m_Rythm ;

	// ==========================================================================================
	// Private functions :

	double MaxZoneValue(int _X, int _Y, int _Dx, int _Dy) ;


} ;
}
#endif SONG_H